package com.varian.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.varian.mybatis.base.IBaseService;
import com.varian.system.dto.SysDictItemDTO;
import com.varian.system.dto.SysDictListDTO;
import com.varian.system.dto.SysDictPageDTO;
import com.varian.system.dto.SysDictTypeDTO;
import com.varian.system.entity.SysDict;
import com.varian.system.vo.SysDictVO;

import java.util.List;
import java.util.Map;

/**
 * @author ben
 * @since 2024/7/9
 */
public interface ISysDictService extends IBaseService<SysDict> {

    boolean typeAdd(SysDictTypeDTO dto);

    boolean itemAdd(SysDictItemDTO dto);

    SysDictVO detail(Long id);

    boolean typeModify(Long id, SysDictTypeDTO dto);

    boolean itemModify(Long id, SysDictItemDTO dto);

    boolean delete(Long id);

    Page<SysDictVO> page(SysDictPageDTO dto);

    List<SysDictVO> list(SysDictListDTO dto);

    List<SysDictVO> listByDictCode(String dictCode);

    Map<String, List<SysDictVO>> mapByDictCode(List<String> dictCodeList);
}
